pycharm 远程连接 linux,本地与远程 python版本不一致如何解决?

您所在的位置:网站首页 python 网络唤醒 pycharm 远程连接 linux,本地与远程 python版本不一致如何解决?

pycharm 远程连接 linux,本地与远程 python版本不一致如何解决?

2023-04-08 23:45| 来源: 网络整理| 查看: 265

Pycharm远程连接Spark(配图文教程)

在Pycharm连接远程服务器上的时候,有很多小的细节,笔者这里总结了一下完整的步骤,希望能帮到大家。连接前一定要保证集群已经可以运行pyspark程序。

(一)(pycharm2022版本的)

添加SFTP连接

()找到菜单栏Tool -> Deployment -> Configuration设置sftp

点击测试连接,保证可以连接到虚拟机中的主机节点。

点击 文件-------设置,找到Python 解释器选择一个正确的解释器

此处的Python版本可以是2.7或者3.6相近版本的(需要个人根据实际情况来选择)

选择正确,软件包可正常显示,后期还需要安装pySpark 和findspark(测试代码时需要)

4.根据自己的需求填写host、username、password,然后点击Test SFTP connection ,确认能连接

二)(pycharm2020版本的)

2.添加SSH Interpreter

找到菜单栏File -> Settings

搜索Project Interpreter,点击齿轮,选择add

选择SSH Interpreter,选择下面的Existing server configuration,选中我们刚刚设置的SSH信息

根据需要修改路径,我这里是linux上默认的python的路径

选择一个正确的解释器

此处的Python版本可以是2.7或者3.6相近版本的(需要个人根据实际情况来选择)

https://blog.51cto.com/u_15294184/4906401

测试代码前:需要配置pycharm的环境变量

PYTHONUNBUFFERED=1;

PYSPARK_DRIVER_PYTHON=Python3;(个人Python版本)

PYSPARK_PYTHON=Python3;

PYTHONPATH=$SPARK_HOME/python/lib/py4j-0.10.7-src.zip:$PYTHONPATH;

SPARK_HOME=/opt/module/spark/;

JAVA_HOME=/opt/module/java

此处的环境是pycharm的环境配置

要和虚拟机的的环境配置相同,不同的需要修改后方可可以!!!(易遗忘)

5.test代码:

import findspark

findspark.init()

from pyspark import SparkContext

# 以下三行为新增内容

import os

os.environ["PYSPARK_PYTHON"] = "/home/hadoop/miniconda3/envs/env_name"

os.environ["PYSPARK_DRIVER_PYTHON"] = "/home/hadoop/miniconda3/envs/env_name"

# 添加此代码

#

from pyspark import SparkConf, SparkContext

if __name__ == '__main__':

# 构建SparkContext对象

conf = SparkConf().setAppName("test").setMaster("local[*]")

sc = SparkContext(conf=conf)

# 通过testFile API 读取数据

# 读取本地文件数据

file_rdd1 = sc.textFile("file:////opt/module/hadoop/words.txt")

print("默认读取分区数:", file_rdd1.getNumPartitions())

print("file_rdd1 内容:", file_rdd1.collect())

# 加最小分区数参数的测试

file_rdd2 = sc.textFile("file:////opt/module/hadoop/words.txt", 3)

# 最小分区数是参考值,Spark有自己的判断,你给的太大Spark不会理会

file_rdd3 = sc.textFile("file:////opt/module/hadoop/words.txt", 10)

print("file_rdd2 分区数:", file_rdd2.getNumPartitions())

print("file_rdd3 分区数: ", file_rdd3.getNumPartitions())

6.测试代码运行出来,表示连接成功!!!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3